package chapter3;

/**
 * @author ycj
 * @version 1.0
 * @description: TODO
 * @date 2022/5/17
 */

//volatile保证了可见性 但不一定是线程安全的
public class Source3_5 {
    private static volatile int data=0;
    public static void main(String[] args) throws InterruptedException {
        Thread[] threads=new Thread[20];
        for(int i=0;i<20;i++){
            threads[i]=new Thread(()->{
               for(int j=0;j<10000;j++){
                   data++;
               }
            });
            threads[i].start();
        }

        //等待所以线程结束后
        Thread.sleep(5000);
        System.out.println(data);//49731 出现了线程安全问题
    }
}
